

/*
 现在纸币面额有 1元，2元，5元，10元，20元，50元和100元，输入一个正整数的金额，
 输出所有的组成可能，比如输入 3元，则有  3个1元 和  一个2+1个1元两种可能
*/

import java.util.Scanner;

public class Text_9 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入一个正整数：");
        int i = in.nextInt();

        for (int a = i / 100; a >= 0; a--) {     //100
            for (int b = (i - 100 * a) / 50; b >= 0; b--) {       //50
                for (int c = (i - 100 * a - 50 * b) / 20; c >= 0; c--) {        //20
                    for (int d = (i - 100 * a - 50 * b - 20 * c) / 10; d >= 0; d--) {      //10
                        for (int e = (i - 100 * a - 50 * b - 20 * c - 10 * d) / 5; e >= 0; e--) {     //5
                            for (int f = (i - 100 * a - 50 * b - 20 * c - 10 * d - 5 * e) / 2; f >= 0; f--) {    //2
                                int g = i - 100 * a - 50 * b - 20 * c - 10 * d - 5 * e - 2 * f;    //1

//                                if (100*a+50*b+20*c+10*d+5*e+2*f+g==i) {

                                System.out.print(a + "张100元");
                                System.out.print(b + "张50元");
                                System.out.print(c + "张20元");
                                System.out.print(d + "张10元");
                                System.out.print(e + "张5元");
                                System.out.print(f + "张2元");
                                System.out.println(g + "张1元");
//                                }
                            }
                        }
                    }
                }
            }
        }


    }

}
